-- Do not manually edit this file, it was auto-generated by dillonkearns/elm-graphql
-- https://github.com/dillonkearns/elm-graphql


module Qore.Object.Controlaccess exposing (..)

import Graphql.Internal.Builder.Argument as Argument exposing (Argument)
import Graphql.Internal.Builder.Object as Object
import Graphql.Internal.Encode as Encode exposing (Value)
import Graphql.Operation exposing (RootMutation, RootQuery, RootSubscription)
import Graphql.OptionalArgument exposing (OptionalArgument(..))
import Graphql.SelectionSet exposing (SelectionSet)
import Json.Decode as Decode
import Qore.InputObject
import Qore.Interface
import Qore.Object
import Qore.Scalar
import Qore.ScalarCodecs
import Qore.Union


head : SelectionSet decodesTo Qore.Object.Head -> SelectionSet (Maybe decodesTo) Qore.Object.Controlaccess
head object_ =
    Object.selectionForCompositeField "head" [] object_ (identity >> Decode.nullable)


controlaccessoption : SelectionSet decodesTo Qore.Union.ArrangementOptionUnion -> SelectionSet (List decodesTo) Qore.Object.Controlaccess
controlaccessoption object_ =
    Object.selectionForCompositeField "controlaccessoption" [] object_ (identity >> Decode.list)


id : SelectionSet (Maybe String) Qore.Object.Controlaccess
id =
    Object.selectionForField "(Maybe String)" "id" [] (Decode.string |> Decode.nullable)


altrender : SelectionSet (Maybe String) Qore.Object.Controlaccess
altrender =
    Object.selectionForField "(Maybe String)" "altrender" [] (Decode.string |> Decode.nullable)


audience : SelectionSet (Maybe String) Qore.Object.Controlaccess
audience =
    Object.selectionForField "(Maybe String)" "audience" [] (Decode.string |> Decode.nullable)


lang : SelectionSet (Maybe String) Qore.Object.Controlaccess
lang =
    Object.selectionForField "(Maybe String)" "lang" [] (Decode.string |> Decode.nullable)


script : SelectionSet (Maybe String) Qore.Object.Controlaccess
script =
    Object.selectionForField "(Maybe String)" "script" [] (Decode.string |> Decode.nullable)


localtype : SelectionSet (Maybe String) Qore.Object.Controlaccess
localtype =
    Object.selectionForField "(Maybe String)" "localtype" [] (Decode.string |> Decode.nullable)


encodinganalog : SelectionSet (Maybe String) Qore.Object.Controlaccess
encodinganalog =
    Object.selectionForField "(Maybe String)" "encodinganalog" [] (Decode.string |> Decode.nullable)
